const isWechat = function() {
    let ua = window.navigator.userAgent.toLowerCase();
    return ua.match(/MicroMessenger/i) == 'micromessenger';
}
const isIOS = function() {
    if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS
        return true
    }
    return false
}

const isAndroid = function() {
    if (/(Android)/i.test(navigator.userAgent)) {
        return true
    }
    return false
}

const isClient = function() {

}

const doAction = function(action, data) {

    if (isAndroid() && window.jsBridge) {
        return window.jsBridge.postMessage(JSON.stringify({
            action,
            data: data || {}
        }))
    }

    if (isIOS() && window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.jsBridge) {
        return window.webkit.messageHandlers.jsBridge.postMessage([
            JSON.stringify({
                action,
                data: data || {}
            })
        ])
    }
}


const action = {
    copy: function(str) {
        // 原生需要执行复制
        doAction('copy', str)
    },
    updateToken: function() {
        // 原生需要对webview进行重新token和uid赋值
        doAction('updateToken', '')
    },
    saveBase64Img: function(str) {
        // 原生需要把base64字符保存为图片
        doAction('saveBase64Img', str)
    },
    goPage: function(url) {
        // 原生跳转至指定view（原生的，不是HTTP链接）
        doAction('goPage', url)
    },
    share: function(url, desc, img) {
        // 原生跳转至指定view（原生的，不是HTTP链接）
        doAction('share', {
            url,
            desc: desc || "",
            img: img || "",
        })
    },
    navBar: function(title, url) {
        // 原生导航右边按钮文字和链接
        doAction('share', {
            title,
            url
        })
    },
    closeWebView: function() {
        // 关闭webview
        doAction('closeWebView', '')
    }
}


var native = {
    isWechat,
    isIOS,
    isAndroid,
    isClient,
    doAction,
    action
}

export default native